<%-- 
  -- Body de busqueda para Honorary.
  --
  --
  -- @author nicolas.gonzalez
--%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<%@ taglib uri="/WEB-INF/struts-html-el-1.2.8.tld" prefix="html-el"%>
<%@ taglib uri="/WEB-INF/struts-logic-el-1.2.8.tld" prefix="logic-el"%>
<%@ taglib uri="/WEB-INF/security.tld" prefix="security" %>
<%@ taglib uri="/WEB-INF/ajaxtags.tld" prefix="ajax" %>

<%@ taglib uri="http://struts.apache.org/tags-bean-el" prefix="bean2"%>

<script src="<html:rewrite page='/protected/script/util.js'/>" type="text/javascript"></script>

<%-- Para EXT --%>
<link rel="stylesheet" type="text/css" href="<html:rewrite page='/protected/script/ext-1.1.1/resources/css/ext-all.css'/>" />

<script src="<html:rewrite page='/protected/script/ext-1.1.1/adapter/ext/ext-base.js'/>" type="text/javascript"></script>
<script src="<html:rewrite page='/protected/script/ext-1.1.1/ext-all.js'/>" type="text/javascript"></script>


<!-- Para AjaxTags -->
<script src="<html:rewrite page='/protected/script/scriptaculous/scriptaculous.js'/>" type="text/javascript"></script>
<script src="<html:rewrite page='/protected/script/ajaxtags/ajax/ajaxtags.js'/>" type="text/javascript"></script>
<script src="<html:rewrite page='/protected/script/ajaxtags/ajax/ajaxtags_parser.js'/>" type="text/javascript"></script>
<script src="<html:rewrite page='/protected/script/ajaxtags/ajax/ajaxtags_controls.js'/>" type="text/javascript"></script>

<link rel="stylesheet" type="text/css" href="<html:rewrite page='/protected/style/ajaxtags/ajaxtags.css'/>" id="AjaxTagsCssId"/>

<div class="errors">
    <html:errors />
</div>

<script type="text/javascript">
     /* Busca los honorarios
      */
    var findHonoraries = function() {
        var teacherIdValue = $("teacherId").value;
        if (!Util.valid.isBlank(teacherIdValue)) {
        	// si se selecciono entonces se tiene en cuenta
            // Se eligio pero puede haber sido modificado en ese caso se invalida.
            var oldTeacherSurname = $("teacherNamePostId").value; 
            var actualTeacherSurname = $("teacherNameId").value; 
            
            if (oldTeacherSurname != actualTeacherSurname) {
                // Se modifico  => limpio todo y alerto
                $("teacherId").value = "";
                $("teacherNameId").value = "";
                $("teacherNamePostId").value = "";
                Ext.MessageBox.alert('Error', 'Por favor, no modifique el campo de docente una vez que lo elige de la lista ... ');
                return;
            }
	        $("teacherIdFindId").value = teacherIdValue;
        }

        var courseSelectedObj = $("courseSelectedId");
        var courseSelectedValue = courseSelectedObj.options[courseSelectedObj.selectedIndex].value;
        if (courseSelectedValue != "-1") {
            // -1 = todos
            $("courseSelectedFindId").value = courseSelectedValue;   
        }
        else {
        	$("courseSelectedFindId").value = "";
        }

        var debtStatusSelectedObj = $("debtStatusSelectedId");
        var debtStatusSelectedValue = debtStatusSelectedObj.options[debtStatusSelectedObj.selectedIndex].value;
        if (debtStatusSelectedValue != "-1") {
            // -1 = todos
            $("debtStatusSelectedFindId").value = debtStatusSelectedValue;   
        }
        else {
        	$("debtStatusSelectedFindId").value = "";
        }
        

		// ninguno o alguno de los campos se selecciono entonces ahora se busca ...
        var form = $("findHonorariesFormId");
        form.submit();
    } 
    
    
    /* Procesa la respuesta del autocomplete
     * Se deja en "teacherNameAutoCompletePostId" (un hidden) el "id;nombre"
     * entonces se parsea y se saca el id y se deja en "teacherId" y en 
     * "teacherNameId" y "teacherNamePostId" se deja el nombre. Se deja dos veces
     * para validar q no se cambie
     */
    var postAutoCompleteTeacher = function() {
        var hiddenAutoCompletePostValue = $("teacherNameAutoCompletePostId").value;
    
        if (!Util.valid.isBlank(hiddenAutoCompletePostValue)) {
            // Algo se trajo entonces se parsea
            var splitted = hiddenAutoCompletePostValue.split(';'); 
            
            var id = splitted[0];
            var teacherName = splitted[1];
            
            $("teacherId").value = id;
            $("teacherNameId").value = teacherName;  
            $("teacherNamePostId").value = teacherName;
            
            // Limpio lo que estaba antes....
            $("teacherNameAutoCompletePostId").value = "";
        }
    }
    
    // Decora los titles de HTML. Lo hace mas lindo, pero mas pesado...
    Ext.QuickTips.interceptTitles = true;
    Ext.QuickTips.init();
    
</script>

<%-- El ID del form NO debe ser modificado. Se usa desde el menu --%>
<html:form action="/protected/showFindHonoraries" styleId="honoraryFormId">
    
    <h2>B&uacute;squeda de Honorarios</h2>
    
    <div class="honoraryEdit">
        <table class="tableDataDebt" cellspacing="0">
            <tr>
                <td class="tableDataTitle">
                    Docente
                </td>
                <td class="tableDataValue">
                    <html:text property="teacherName" styleId="teacherNameId" styleClass="form-autocomplete" size="30" title="Ingrese el nombre y espere a que se carguen los resultados..." />

                    <%--    En teacherId esta el ID cuando se autocompleta. El post function deja 
                            en teacherNamePost el nombre del docente de manera de controlar q no se haya cambiado.
                            Ojo xq AjaxTags deja tambien en teacherNamePostId lo q vino.  --%>
                    <html:hidden property="teacherId" styleId="teacherId"/>
                    <input type="hidden" name="teacherNameAutoCompletePost" id="teacherNameAutoCompletePostId" />
                    <input type="hidden" name="teacherNamePost" id="teacherNamePostId" />
                </td>            
            </tr>
            <tr>
                <td class="tableDataTitle">
                    Curso
                </td>
                <td class="tableDataValue">
                    <html:select property="courseSelected" styleClass="allSelects" styleId="courseSelectedId" title="Cursos ..." >
                        <option value="-1">Todos</option>
                        <html:optionsCollection property="courseOptions"/>
                    </html:select>
                </td>            
            </tr>
            <tr>
                <td class="tableDataTitle">
                    Estado
                </td>
                <td class="tableDataValue">
                    <html:select property="debtStatusSelected" styleClass="allSelects" styleId="debtStatusSelectedId" title="Estado de la deuda ..." >
                        <option value="-1">Todos</option>
                        <html:optionsCollection property="debtStatusOptions"/>
                    </html:select>
                </td>            
            </tr>
        </table>

        <div id="clear">
        </div>
        <div id="clear">
        </div>
        
        <%-- No se valida seguridad ya que SOLO entran aca los q tienen permiso --%>
        <div class="panelButton">
              <input type="button" value="Buscar" onclick="findHonoraries();" title="Busca los honorarios aplicando las condiciones ingresadas ..." class="button">
        </div>  
    
    </div>

    <%-- Indicador de llamada de AJAX para el autocomplete --%>
    <span id="indicatorRegion" style="display: none; margin-left: 50%;">
        <img id="anyId" style="border: 0px;" title="title" src="<html:rewrite page="/protected/img/ajax-loader.gif"/>" />
    </span>
    
</html:form>

<ajax:autocomplete
  baseUrl="${pageContext.request.contextPath}/protected/autocompleteTeachers.do"
  source="teacherNameId"
  target="teacherNameAutoCompletePostId"
  parameters="teacherName={teacherNameId}"
  className="autocomplete"
  indicator="indicatorRegion"
  minimumCharacters="2"
  postFunction="postAutoCompleteTeacher"
/>

<%-- Inyectados por Javascript --%>
<div id="findHonorariesDivId" class="hideClass">
    <html:form action="/protected/findHonoraries" styleId="findHonorariesFormId">
        <html:hidden property="teacherId" value="" styleId="teacherIdFindId"/>
        <html:hidden property="courseSelected" value="" styleId="courseSelectedFindId"/>
        <html:hidden property="debtStatusSelected" value="" styleId="debtStatusSelectedFindId"/>
    </html:form>
</div>